﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Waiter.Common;
using Waiter.Controler;
using DevComponents.DotNetBar.Controls;
using DevComponents.DotNetBar;

namespace Waiter.View
{
    public partial class frmStaff : DevComponents.DotNetBar.Office2007Form//Form
    {
        StaffCtrl myStaffCotrol = new StaffCtrl();
        WorkShiftCtrl myWorkShiftControl = new WorkShiftCtrl();
        ActionStatus myActionStatus = new ActionStatus();       //Trạng thái hiện tại của form
        public delegate void CloseForm();                       //Delegate close form
        public CloseForm myCloseForm;                           //Tạo thể hiện của delegate

        public frmStaff()
        {
            InitializeComponent();
        }

        #region Event*******************************************************************************************************

        /// <summary>
        /// Form load
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// <history>Version 1.0.0.0 - TRAN_DANG_QUANG</history>
        private void frmStaff_Load(object sender, EventArgs e)
        {
            CommonLogging.fsWriteLog(CommonConstants.LOG_TYPE_INFO, "frmStaff.frmStaff_Load", "", "");
            this.fsLoadDefaulGridtData();
            this.fsLoadDefaultInputPanel();
            if (grdMain.CurrentCell.RowIndex >= 0)
            {
                //Binding data vào panel Input
                fsBindingPanelInput(grdMain.CurrentCell.RowIndex, grdMain.CurrentCell.ColumnIndex);
            }

            myActionStatus = ActionStatus.DEFAULT;
        }

        /// <summary>
        /// Khi ấn buton Add
        /// </summary>
        /// <history>Verion: 1.0.0.0 - TRAN_DANG_QUANG</history>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnAdd_Click(object sender, EventArgs e)
        {
            CommonLogging.fsWriteLog(CommonConstants.LOG_TYPE_INFO, "frmStaff.btnAdd_Click", "", "");
            //Control các panel
            pnlGrid.Enabled = false;
            pnlInput.Enabled = true;
            myActionStatus = ActionStatus.ADDING;

            //Setting trị rỗng cho các control
            txtName.Text = string.Empty;
            cmbSex.SelectedIndex = 0;
            dateBirth.Value = new DateTime(1990, 1, 1);
            txtPhone.Text = string.Empty;
            cmbStatusWork.SelectedIndex = 1;
            cmbSalayManagement.SelectedIndex = 0;
            numSalaryUnit.Value = 0;
            txtAddress.Text = string.Empty;
            txtNote.Text = string.Empty;

            //Bắt đầu thêm data
            this.fsLoadDefaultInputPanel();
        }

        /// <summary>
        /// Khi ấn button Update
        /// </summary>
        /// <history>Verion: 1.0.0.0 - TRAN_DANG_QUANG</history>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnUpdate_Click(object sender, EventArgs e)
        {
            CommonLogging.fsWriteLog(CommonConstants.LOG_TYPE_INFO, "frmStaff.btnUpdate_Click", "", "");
            if (grdMain.CurrentCell.RowIndex < 0)
            {
                MessageBoxEx.Show("Xin hãy chọn nhân viên cần chỉnh sửa.", CommonMessages.MSG_ERR_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            if (myActionStatus == ActionStatus.DEFAULT)
            {
                //Control các panel            
                pnlGrid.Enabled = false;
                pnlInput.Enabled = true;
                myActionStatus = ActionStatus.EDITING;
            }
        }

        /// <summary>
        /// Ấn button save
        /// </summary>
        /// <history>Verion: 1.0.0.0 - TRAN_DANG_QUANG</history>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSave_Click(object sender, EventArgs e)
        {
            CommonLogging.fsWriteLog(CommonConstants.LOG_TYPE_INFO, "frmStaff.btnSave_Click", "", "");
            if (myActionStatus == ActionStatus.ADDING)
                this.fsInsertStaff();//gọi hàm thêm mới data
            else if (myActionStatus == ActionStatus.EDITING)
                this.fsUpdateData();//gọi hàm update data            
        }

        /// <summary>
        /// Khi ấn button Hủy
        /// </summary>
        /// <history>Verion: 1.0.0.0 - TRAN_DANG_QUANG</history>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnCancel_Click(object sender, EventArgs e)
        {
            CommonLogging.fsWriteLog(CommonConstants.LOG_TYPE_INFO, "frmStaff.btnCancel_Click", "", "");
            if (myActionStatus != ActionStatus.DEFAULT)
            {
                //Control các panel         
                myActionStatus = ActionStatus.DEFAULT;
                fsLoadDefaulGridtData();
            }
        }

        /// <summary>
        /// Khi cell click
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void grdMain_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            CommonLogging.fsWriteLog(CommonConstants.LOG_TYPE_INFO, "frmStaff.grdMain_CellClick", "", "");
            //Binding data vào panel Input
            fsBindingPanelInput(grdMain.CurrentCell.RowIndex, grdMain.CurrentCell.ColumnIndex);
        }

        /// <summary>
        /// Khi ấn button thêm mới trạng thái
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnAddStatus_Click(object sender, EventArgs e)
        {
            CommonLogging.fsWriteLog(CommonConstants.LOG_TYPE_INFO, "frmStaff.btnAddStatus_Click", "", "");
            //Hiển thị form để input trạng thái nhân viên
            frmGroupList frmMyGroupList = new frmGroupList(CommonConstants.TRANG_THAI_NHAN_VIEN);
            frmMyGroupList.ShowDialog();

            //Reload lại trạng thái nhân viên
            myStaffCotrol.fsLoadComboBox_WorkStatus(cmbStatusWork);
        }

        /// <summary>
        /// Khi ấn button Close
        /// </summary>
        /// <history>Verion: 1.0.0.0 - TRAN_DANG_QUANG</history>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnBack_Click(object sender, EventArgs e)
        {
            CommonLogging.fsWriteLog(CommonConstants.LOG_TYPE_INFO, "frmStaff.btnBack_Click", "", "");
            this.Close();//Đóng form
        }

        /// <summary>
        /// Khi ấn button xóa
        /// </summary>
        /// <history>Verion: 1.0.0.0 - TRAN_DANG_QUANG</history>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnDelete_Click(object sender, EventArgs e)
        {
            CommonLogging.fsWriteLog(CommonConstants.LOG_TYPE_INFO, "frmStaff.btnDelete_Click", "", "");
            if (myActionStatus == ActionStatus.DEFAULT)
            {
                fsDeleteStaff(grdMain.Rows[grdMain.CurrentCell.RowIndex].Cells["colCODE"].Value.ToString());
            }
        }

        /// <summary>
        /// Khi ấn button refesh
        /// </summary>
        /// <history>Verion: 1.0.0.0 - TRAN_DANG_QUANG</history>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnRefesh_Click(object sender, EventArgs e)
        {
            CommonLogging.fsWriteLog(CommonConstants.LOG_TYPE_INFO, "frmStaff.btnRefesh_Click", "", "");
            if (myActionStatus == ActionStatus.DEFAULT)
            {
                //Resfesh lại tất cả các control
                this.fsLoadDefaulGridtData();
                this.fsLoadDefaultInputPanel();
            }
            else
            {
                MessageBoxEx.Show("Không thể refesh trong khi đang thêm mới hoặc chỉnh sửa dữ liệu. Xin hãy ấn nút hủy và thử lại", CommonMessages.MSG_NOTICE_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }

        /// <summary>
        /// Load data DataGridViewComboBoxColumn giới tính
        /// </summary>
        /// <history>Verion: 1.0.0.0 - TRAN_DANG_QUANG</history>
        /// <param name="cmb"></param>
        private void fsLoadComboBox_Sex(ComboBoxEx cmb)
        {
            CommonLogging.fsWriteLog(CommonConstants.LOG_TYPE_INFO, "frmStaff.fsLoadComboBox_Sex", "", "");
            try
            {
                ComboboxItem itemTemp;
                cmb.Items.Clear();

                //Tạo danh sách item và add vào commbobox
                itemTemp = new ComboboxItem();
                itemTemp.Value = true.ToString();
                itemTemp.Text = "NAM";
                cmb.Items.Add(itemTemp);

                itemTemp = new ComboboxItem();
                itemTemp.Value = false.ToString();
                itemTemp.Text = "NỮ";
                cmb.Items.Add(itemTemp);

                //Setting hiển thị cho combobox
                cmb.ValueMember = CommonConstants.CMB_VALUE;
                cmb.DisplayMember = CommonConstants.CMB_TEXT;
            }
            catch (Exception ex)
            {
                CommonLogging.fsWriteLog(CommonConstants.LOG_TYPE_INFO, "frmStaff.fsLoadComboBox_Sex", "", ex.ToString());
                cmb.DataSource = null;
            }
        }

        /// <summary>
        /// Load data DataGridViewComboBoxColumn tự động tính lương
        /// </summary>
        /// <history>Verion: 1.0.0.0 - TRAN_DANG_QUANG</history>
        /// <param name="cmb"></param>
        private void fsLoadComboBox_SalaryManagement(ComboBoxEx cmb)
        {
            CommonLogging.fsWriteLog(CommonConstants.LOG_TYPE_INFO, "frmStaff.fsLoadComboBox_SalaryManagement", "", "");
            try
            {
                ComboboxItem itemTemp;
                cmb.Items.Clear();

                //Tạo danh sách item và add vào commbobox
                itemTemp = new ComboboxItem();
                itemTemp.Value = true.ToString();
                itemTemp.Text = "Có";
                cmb.Items.Add(itemTemp);

                itemTemp = new ComboboxItem();
                itemTemp.Value = false.ToString();
                itemTemp.Text = "Không";
                cmb.Items.Add(itemTemp);

                //Setting hiển thị cho combobox
                cmb.ValueMember = CommonConstants.CMB_VALUE;
                cmb.DisplayMember = CommonConstants.CMB_TEXT;
            }
            catch (Exception ex)
            {
                CommonLogging.fsWriteLog(CommonConstants.LOG_TYPE_INFO, "frmStaff.fsLoadComboBox_SalaryManagement", "", ex.ToString());
                cmb.DataSource = null;
            }
        }

        /// <summary>
        /// Setting header
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void headerItem1_Load(object sender, EventArgs e)
        {
            CommonLogging.fsWriteLog(CommonConstants.LOG_TYPE_INFO, "frmStaff.headerItem1_Load", "", "");
            this.headerItem1.init("NHÂN VIÊN", false);
            //this.headerItem1.btnChangeStyle.Visible = false;
            //this.headerItem1.btnSwitchUser.Visible = false;
            //this.headerItem1.lblShift.Visible = false;
            //this.headerItem1.lblShift1.Visible = false;
            //this.headerItem1.lblName.Text = Waiter.Properties.Settings.Default.STAFF_LOGIN_NAME;
        }

        /// <summary>
        /// Khi đóng đang đóng
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void frmStaff_FormClosing(object sender, FormClosingEventArgs e)
        {
            CommonLogging.fsWriteLog(CommonConstants.LOG_TYPE_INFO, "frmStaff.frmStaff_FormClosing", "", "");
            if (myCloseForm != null)//Thông báo cho form menu
                myCloseForm();
        }

        #endregion

        #region Function****************************************************************************************************

        /// <summary>
        /// Phương thức load data mặc định và setting trị init + trạng thái các panel.
        /// </summary>
        /// <history>Verion: 1.0.0.0 - TRAN_DANG_QUANG</history>
        private void fsLoadDefaulGridtData()
        {
            CommonLogging.fsWriteLog(CommonConstants.LOG_TYPE_INFO, "frmStaff.fsLoadDefaulGridtData", "", "");
            myStaffCotrol.fsLoadDataGridViewCombobox_WorkStatus(colSTATUS_CODE);
            grdMain.DataSource = myStaffCotrol.fsGetAllStaffs();

            pnlInput.Enabled = false;
            pnlGrid.Enabled = true;
            pnlRightButton.Enabled = true;
        }

        /// <summary>
        /// Phương thứ load data mặc định vào trong các control tại panel Input.
        /// </summary>
        /// <history>Verion: 1.0.0.0 - TRAN_DANG_QUANG</history>
        private void fsLoadDefaultInputPanel()
        {
            CommonLogging.fsWriteLog(CommonConstants.LOG_TYPE_INFO, "frmStaff.fsLoadDefaultInputPanel", "", "");
            //Load data vào các control
            fsLoadComboBox_Sex(cmbSex);
            fsLoadComboBox_SalaryManagement(cmbSalayManagement);
            myStaffCotrol.fsLoadComboBox_WorkStatus(cmbStatusWork);

            //Setting trị mặc định
            dateBirth.Value = new DateTime(1990, 1, 1);
            if (cmbSex.Items.Count > 0)
            {
                cmbSex.SelectedIndex = 0;
            }
            if (cmbSalayManagement.Items.Count > 0)
            {
                cmbSalayManagement.SelectedIndex = 0;
            }
        }

        /// <summary>
        /// Phương thức insert data
        /// </summary>
        /// <history>Verion: 1.0.0.0 - TRAN_DANG_QUANG</history>
        private void fsInsertStaff()
        {
            CommonLogging.fsWriteLog(CommonConstants.LOG_TYPE_INFO, "frmStaff.fsInsertStaff", "", "");
            if (myActionStatus == ActionStatus.ADDING)
            {
                //Get data cac item input.
                string strCode = String.Format(CommonConstants.CODE_DATE, DateTime.Now);
                string strName = txtName.Text;
                bool bSex;
                if (cmbSex.SelectedIndex == 0)
                    bSex = true;
                else
                    bSex = false;
                DateTime dateBirthDay = dateBirth.Value;
                string strPhoneNumber = txtPhone.Text;
                string strAddress = txtAddress.Text;
                string strStatusCode = cmbStatusWork.SelectedValue.ToString();
                bool bIsSalaryManagement;
                if (cmbSalayManagement.SelectedIndex == 0)
                    bIsSalaryManagement = true;
                else
                    bIsSalaryManagement = false;
                long nUnitSalary = Convert.ToInt64(numSalaryUnit.Value);
                string strNote = txtNote.Text;

                //Check error các item
                //Name
                if (strName.Length < 1 || strName.Length > 50)
                {
                    MessageBoxEx.Show("Xin hãy kiểm tra lại tên nhân viên", CommonMessages.MSG_ERR_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    txtName.Focus();
                    return;
                }

                //Số tiền lương đơn vị
                if (cmbSalayManagement.Text == "Có" && numSalaryUnit.Value <= 0)
                {
                    //Tự động tính lương nhưng số tiền lương đơn vị = 0
                    MessageBoxEx.Show("Bạn đang chọn chức năng tự động tính lương nhưng chưa nhập số tiền lương đơn vị.", CommonMessages.MSG_ERR_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    numSalaryUnit.Focus();
                    return;
                }

                //Ngày tháng năm sinh chưa nhập
                if (dateBirth.Value == DateTime.MinValue || dateBirth.Value == DateTime.MaxValue)
                {
                    //Chưa nhập thông tin ngày tháng năm sinh
                    MessageBoxEx.Show("Bạn chưa nhập thông tin ngày tháng năm sinh", CommonMessages.MSG_ERR_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    dateBirth.Focus();
                    return;
                }

                //Tiến hành lưu data
                if (myStaffCotrol.fsInsertData(strCode,
                                               strName,
                                               bSex,
                                               dateBirthDay,
                                               strPhoneNumber,
                                               strAddress,
                                               strStatusCode,
                                               bIsSalaryManagement,
                                               nUnitSalary,
                                               strNote,
                                               CommonUtils.fsGetOPID(),
                                               DateTime.Now,
                                               DateTime.Now) == ResultStatus.SUCCESS)
                {
                    //Tiến hành khởi tạo chi tiết ca làm việc
                    myWorkShiftControl.fsCreateNewWorkShift_Detail(strCode, CommonUtils.fsGetOPID(), DateTime.Now, DateTime.Now);

                    //Thành công thì load lại data trên grid.
                    fsLoadDefaulGridtData();

                    //Chuyển trạng thái thành mặc định
                    myActionStatus = ActionStatus.DEFAULT;
                }
                else
                {
                    //Thất bại thì hiển thị message thông báo.
                    MessageBox.Show(CommonMessages.MSG_SAVE_FAIL, CommonMessages.MSG_ERR_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }

        /// <summary>
        /// Phương thức update data
        /// </summary>
        /// <history>Verion: 1.0.0.0 - TRAN_DANG_QUANG</history>
        private void fsUpdateData()
        {
            CommonLogging.fsWriteLog(CommonConstants.LOG_TYPE_INFO, "frmStaff.fsUpdateData", "", "");
            if (myActionStatus == ActionStatus.EDITING)
            {
                //Get data cac item input.
                string strCode = txtDummy.Text;
                string strName = txtName.Text;
                bool bSex;
                if (cmbSex.SelectedIndex == 0)
                    bSex = true;
                else
                    bSex = false;
                DateTime dateBirthDay = dateBirth.Value;
                string strPhoneNumber = txtPhone.Text;
                string strAddress = txtAddress.Text;
                string strStatusCode = cmbStatusWork.SelectedValue.ToString();
                bool bIsSalaryManagement;
                if (cmbSalayManagement.SelectedIndex == 0)
                    bIsSalaryManagement = true;
                else
                    bIsSalaryManagement = false;
                long nUnitSalary = Convert.ToInt64(numSalaryUnit.Value);
                string strNote = txtNote.Text;


                //Check error các item
                //Name
                if (strName.Length < 1 || strName.Length > 50)
                {
                    MessageBoxEx.Show("Xin hãy kiểm tra lại tên nhân viên", CommonMessages.MSG_ERR_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    txtName.Focus();
                    return;
                }

                //Số tiền lương đơn vị
                if (cmbSalayManagement.Text == "Có" && numSalaryUnit.Value <= 0)
                {
                    //Tự động tính lương nhưng số tiền lương đơn vị = 0
                    MessageBoxEx.Show("Bạn đang chọn chức năng tự động tính lương nhưng chưa nhập số tiền lương đơn vị.", CommonMessages.MSG_ERR_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    numSalaryUnit.Focus();
                    return;
                }

                //Ngày tháng năm sinh chưa nhập
                if (dateBirth.Value == DateTime.MinValue || dateBirth.Value == DateTime.MaxValue)
                {
                    //Chưa nhập thông tin ngày tháng năm sinh
                    MessageBoxEx.Show("Bạn chưa nhập thông tin ngày tháng năm sinh", CommonMessages.MSG_ERR_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    dateBirth.Focus();
                    return;
                }

                //Tiến hành lưu data
                if (myStaffCotrol.fsUpdateData(strCode,
                                               strName,
                                               bSex,
                                               dateBirthDay,
                                               strPhoneNumber,
                                               strAddress,
                                               strStatusCode,
                                               bIsSalaryManagement,
                                               nUnitSalary,
                                               strNote,
                                               CommonUtils.fsGetOPID(),
                                               DateTime.Now) == ResultStatus.SUCCESS)
                {
                    //Thành công thì load lại data trên grid.
                    fsLoadDefaulGridtData();

                    //Chuyển trạng thái thành mặc định
                    myActionStatus = ActionStatus.DEFAULT;
                }
                else
                {
                    //Thất bại thì hiển thị message thông báo.
                    MessageBox.Show(CommonMessages.MSG_SAVE_FAIL, CommonMessages.MSG_ERR_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }



        /// <summary>
        /// Binding dữ liệu từ grid vào các control tại panel input.
        /// </summary>
        /// <history>Verion: 1.0.0.0 - TRAN_DANG_QUANG</history>
        /// <param name="pRow"></param>
        /// <param name="pColumn"></param>
        private void fsBindingPanelInput(int pRow, int pColumn)
        {
            CommonLogging.fsWriteLog(CommonConstants.LOG_TYPE_INFO, "frmStaff.fsBindingPanelInput", "", "");
            try
            {
                if (pRow > -1 && pColumn > -1)
                {
                    txtDummy.Text = this.grdMain.Rows[pRow].Cells["colCODE"].Value.ToString();
                    txtName.Text = this.grdMain.Rows[pRow].Cells["colName"].Value.ToString();
                    if (Convert.ToBoolean(this.grdMain.Rows[pRow].Cells["colSEX"].Value) == true)
                        cmbSex.Text = "NAM";
                    else
                        cmbSex.Text = "NỮ";
                    dateBirth.Value = Convert.ToDateTime(this.grdMain.Rows[pRow].Cells["colBIRTH_DAY"].Value);
                    txtPhone.Text = this.grdMain.Rows[pRow].Cells["colPHONE_NUMBER"].Value.ToString();
                    txtAddress.Text = this.grdMain.Rows[pRow].Cells["colADDRESS"].Value.ToString();
                    cmbStatusWork.SelectedValue = this.grdMain.Rows[pRow].Cells["colSTATUS_CODE"].Value.ToString();
                    if (Convert.ToBoolean(this.grdMain.Rows[pRow].Cells["colISALARY_MANAGEMENT"].Value) == true)
                        cmbSalayManagement.Text = "Có";
                    else
                        cmbSalayManagement.Text = "Không";
                    numSalaryUnit.Value = Convert.ToInt64(this.grdMain.Rows[pRow].Cells["colUNIT_SALARY"].Value);
                    txtNote.Text = this.grdMain.Rows[pRow].Cells["colNOTE"].Value.ToString();
                }
                else
                    return;
            }
            catch (Exception ex)
            {
                CommonLogging.fsWriteLog(CommonConstants.LOG_TYPE_INFO, "frmStaff.fsBindingPanelInput", "", ex.ToString());
                return;
            }
        }



        /// <summary>
        /// Xóa một nhân viên
        /// </summary>
        /// <history>Verion: 1.0.0.0 - TRAN_DANG_QUANG</history>
        /// <param name="pID"></param>
        private void fsDeleteStaff(string pID)
        {
            CommonLogging.fsWriteLog(CommonConstants.LOG_TYPE_INFO, "frmStaff.fsDeleteStaff", "", "");
            if (pID == txtDummy.Text)
            {
                if (MessageBoxEx.Show("Bạn có thực sự muốn xóa nhân viên " + txtName.Text + "?", CommonMessages.MSG_CONFIRM_TITLE, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
                {
                    if (myStaffCotrol.fsDeleteStaff(pID, CommonUtils.fsGetOPID(), DateTime.Now) == ResultStatus.SUCCESS)
                    {
                        //Thành công thì load lại data trên grid.
                        fsLoadDefaulGridtData();

                        //Chuyển trạng thái thành mặc định
                        myActionStatus = ActionStatus.DEFAULT;
                    }
                    else
                    {
                        MessageBoxEx.Show("Xoá dữ liệu không thành công", CommonMessages.MSG_ERR_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
            else
            {
                MessageBoxEx.Show("Không tìm thấy dữ liệu cần xóa!\nHãy chắc chắn nhân viên muốn xóa đã được chọn trên lưới.", CommonMessages.MSG_ERR_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        #endregion

    }
}


